User interfaces of computing devices often provide multiple options for actions under any given set of circumstances. For example, a user interface might provide options to change the font of selected text, change paragraph spacing of a document, load, print, or save a file, etc.
The most common method of presenting such options in a graphical user interface is to provide a linear pull-down menu. That is, a menu including a row of menu items that give access to columns of submenus. In a linear pull-down menu a user selects a general category from a provided list of menu items, such as File, Edit, View, Window, Help, etc. These broad categories are sometimes called “top level menu items” because in a hierarchal tree of menus, they would be the items at top of the tree. Some top level menu items allow access to submenus related to the selected item. For example, selecting a top level menu item “File” can activate the item, causing a submenu to appear with selectable commands relating to files. The submenu would appear as a column of the options, leading down from the “File” menu item. A submenu for “File” might include “Save”, “Load”, or “Print” commands. Some items on submenus might have submenus of their own, and so on for any number of levels of submenus.
Linear pull-down menus are often located at or near the top of a screen or window in which an application is running. Accessing such a linear pull-down menu via a cursor control device involves moving a cursor to the top of the window with the cursor control device, then moving along to the appropriate top level menu item, activating a submenu (if necessary), etc. Using a cursor to select items on a linear pull-down menu requires a user to move the cursor by a particular distance down the menu to reach the desired menu item. This can require moving a cursor through a considerable distance and with considerable precision required to reach the desired menu item without going past it.
An alternate method of presenting a menu of options uses a radial menu. A radial menu can appear as a set of wedges, each wedge representing a menu item, around the location of a cursor on the display. Submenus of some radial menus are activated by moving a cursor to the wedge representing that submenu and clicking on that wedge. Such a method is sometimes called “hunt and click”. The hunt and click method provided a fully functional menu, and there was no obvious reason to modify it. However, useful and non-obvious changes to the methods of providing radial menus were possible, such as using other processes for selecting menus, or providing a user with options for more than one method. Accordingly, the present invention provides such useful, non-obvious changes.